*****************************************************************
*****************************************************************
*****                                                       *****
*****        Mona Morgan-Collins (Durham University)        *****
*****       Contact: mona.morgan-collins@durham.ac.uk       *****
*****                                                       *****
*****  The Electoral Impact of Newly Enfranchised Groups:   *****
*****  The Case of Women’s Suffrage in the United States.   *****
*****                                                       *****
*****                 Journal of Politics                   *****
*****                                                       *****
*****     Replication file for analyses in the appendix     *****
*****                                                       *****
*****************************************************************
*****************************************************************

 

 
**************************************************************************
*Figure 1: States where Women Voted to Congress for the First Time in 1920
**************************************************************************

*Nothing to replicate. See full list of states in Appendix (p.6)


**************************************************************************
*Table 1: Summary Statistics for the 1920 Sample
**************************************************************************

use dta\MMC_1920, clear    // using 1920 data set
gen rep01 = (pty66>100) if !missing(pty66) //generating binary to generate mean
sum dinc2018  dturn2018  awomen20 progsc66 membpc urb20 ablack20 rep01 nrd20 wrd20 proh18_01 margin18  


**************************************************************************
*Table 2: Correlates of the Proportion of Adult Women in 1920
**************************************************************************

use dta\MMC_1920, clear    //using 1920 data set
*Model 1 
reg awomen20 urb20 ablack20 progsc66 i.pty66 margin18 i.proh18_01 i.state, cluster(cd20_u)
*Model 2
reg awomen20 urb20 ablack20 progsc66 i.pty66 margin18 i.proh18_01 i.state, cluster(cd20_u), if nawsa_60==0
*Model 3
reg awomen20 urb20 ablack20 progsc66 i.pty66 margin18 i.proh18_01 i.state, cluster(cd20_u), if nawsa_60==1
*Model 4 
reg awomen20 mfo20_m ablack20 progsc66 i.pty66 margin18 i.proh18_01 i.state, cluster(cd20_u)
*Model 5
reg awomen20 mfo20_m ablack20 progsc66 i.pty66 margin18 i.proh18_01 i.state, cluster(cd20_u), if nawsa_60==0
*Model 6
reg awomen20 mfo20_m ablack20 progsc66 i.pty66 margin18 i.proh18_01 i.state, cluster(cd20_u), if nawsa_60==1
*Model 7 
reg awomen20 urb20 ablack20 progsc66 i.pty66 margin18 i.proh18_01 anat20 i.state, cluster(cd20_u)
*Model 8
reg awomen20 urb20 ablack20 progsc66 i.pty66 margin18 i.proh18_01 anat20 i.state, cluster(cd20_u), if nawsa_60==0
*Model 9
reg awomen20 urb20 ablack20 progsc66 i.pty66 margin18 i.proh18_01 anat20 i.state, cluster(cd20_u), if nawsa_60==1


**************************************************************************
*Figure 2: Correlating the Proportion of Adult Women with Alternative Measures
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
*Literacy tests
corr  awomen20 awomen20_litl  //generating correlation coefficient [run in a single do command with the next two rows]
local corr:di %4.3f r(rho)
twoway (scatter awomen20 awomen20_litl, mcolor(black) m(oh)) (lfit awomen20 awomen20_litl, lwidth(thick) lcolor(black)), ytitle("Adult Literate Women 1920 (%)" "if Literacy Tests", size(vlarge)) ylabel(30(10)60, labsize(vlarge)) xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(30(10)60, labsize(vlarge)) title("Literacy Tests", nobox size(vlarge)) note("", nobox) legend(off) scheme(s1color) text(60 56 "Corr=`corr'", color(black) size(large)) saving(lit, replace)
*Poll taxes
corr  awomen20 awomen20_nbp  //generating correlation coefficient [run in a single do command with the next two rows]
local corr:di %4.3f r(rho)
twoway (scatter awomen20 awomen20_nbp, mcolor(black) m(oh)) (lfit awomen20 awomen20_nbp, lwidth(thick) lcolor(black)), ytitle("Adult Non-Black Women 1920 (%)" "if Poll Taxes", size(vlarge)) ylabel(30(10)60, labsize(vlarge)) xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(30(10)60, labsize(vlarge)) title("Poll Taxes", nobox size(vlarge)) note("", nobox) legend(off) scheme(s1color) text(60 56 "Corr=`corr'", color(black) size(large)) saving(poll, replace)
*Restrictive registration
corr  awomen20 awomen20_nbr  //generating correlation coefficient [run in a single do command with the next two rows]
local corr:di %4.3f r(rho)
twoway (scatter awomen20 awomen20_nbr, mcolor(black) m(oh)) (lfit awomen20 awomen20_nbr, lwidth(thick) lcolor(black)), ytitle("Adult Non-Black Women 1920 (%)" "if Restrictive Registration", size(vlarge)) ylabel(30(10)60, labsize(vlarge)) xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(30(10)60, labsize(vlarge)) title("Restrictive Registration", nobox size(vlarge)) note("", nobox) legend(off) scheme(s1color) text(60 56 "Corr=`corr'", color(black) size(large)) saving(reg, replace)
*Alien disenfranchisement
corr  awomen20 awomen20_naa  //generating correlation coefficient [run in a single do command with the next two rows]
local corr:di %4.3f r(rho)
twoway (scatter awomen20 awomen20_naa, mcolor(black) m(oh)) (lfit awomen20 awomen20_naa, lwidth(thick) lcolor(black)), ytitle("Adult Non-Alien Women 1920 (%)" "if Aliens Disenfranchised", size(vlarge)) ylabel(30(10)60, labsize(vlarge)) xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(30(10)60, labsize(vlarge)) title("Alien Disenfranchisement", nobox size(vlarge)) note("", nobox) legend(off) scheme(s1color) text(60 56 "Corr=`corr'", color(black) size(large)) saving(al, replace)
*Combining graphs
gr combine  lit.gph poll.gph reg.gph al.gph , col(4) ycommon ysize(1.5) scheme(s1mono) imargin(medium)


**************************************************************************
*Figure 3: Adult Women by Voter Suppression Laws
**************************************************************************

use dta\MMC_1920, clear      //using 1920 data set
*Literacy tests
graph box awomen20, over(litt, relabel(1 "No" 2 "Yes")    label(labsize(huge))) ytitle("Adult Women 1920 (%)", size(huge)) ylabel ( ,labsize(huge) nogrid) noout box(1, color(black) ) marker (1 , mcolor(gray)) ylabel(40(10)60) title("Literacy" "Tests",  size(huge))           note("", nobox) legend(off) scheme(s1color) saving(lit_box, replace)
*Poll taxes
graph box awomen20, over(pollt, relabel(1 "No" 2 "Yes")   label(labsize(huge))) ytitle("Adult Women 1920 (%)", size(huge)) ylabel ( ,labsize(huge) nogrid) noout box(1, color(black) ) marker (1 , mcolor(gray)) ylabel(40(10)60) title("Poll" "Taxes",  size(huge))               note("", nobox) legend(off) scheme(s1color) saving(poll_box, replace) 
*Restrictive registration
graph box awomen20, over(registr, relabel(1 "No" 2 "Yes") label(labsize(huge))) ytitle("Adult Women 1920 (%)", size(huge)) ylabel ( ,labsize(huge) nogrid) noout box(1, color(black) ) marker (1 , mcolor(gray)) ylabel(40(10)60) title("Restrictive" "Registration",  size(huge)) note("", nobox) legend(off) scheme(s1color) saving(reg_box, replace)
*Alien disenfranchisement
graph box awomen20, over(alien, relabel(1 "No" 2 "Yes")   label(labsize(huge))) ytitle("Adult Women 1920 (%)", size(huge)) ylabel ( ,labsize(huge) nogrid) noout box(1, color(black) ) marker (1 , mcolor(gray)) ylabel(40(10)60) title("Alien" "Disenfranchisement",  size(huge)) note("", nobox) legend(off) scheme(s1color) saving(al_box, replace) 
*Combining graphs
gr combine lit_box.gph  poll_box.gph reg_box.gph al_box.gph, col(4)  ysize(2) scheme(s1mono) imargin(medium) 


**************************************************************************
*Table 3: List of Progressive Bills in 66th Congress - with Full Description
**************************************************************************

*Nothing to replicate


**************************************************************************
*Table 4: List of Progressive Bills in 65th Congress - with Full Description
**************************************************************************

*Nothing to replicate


**************************************************************************
*Table 5: List of Progressive Bills in 67th Congress - with Full Description
**************************************************************************

*Nothing to replicate


**************************************************************************
*Table 6: List of Bills Lobbied for by Women’s Groups in 66th-68th Congresses
**************************************************************************

*Nothing to replicate

**************************************************************************
*Figure 4: Correlating DW-NOMINATE and Progressive Scores in 66th Congress
**************************************************************************

use dta\MMC_dwprog, clear       //using dw-prog data set
twoway (scatter dwnom1  progsc66 if party==100, mcolor(gray) m(oh)) (lfit dwnom1  progsc66 if party==100, lwidth(thick) lcolor(gray)) (scatter dwnom1  progsc66 if party==200, mcolor(black) m(oh)) (lfit dwnom1  progsc66 if party==200, lwidth(thick) lcolor(black)) , ytitle(DW-NOMINATE 1, size(vlarge)) ylabel(-1(0.5)1, labsize(vlarge)) xtitle(Progressive score, size(vlarge)) xlabel(0(20)100, labsize(vlarge)) title("", nobox) note("", nobox) legend(off) scheme(s1mono) yline(0, lcolor(black)) 

**************************************************************************
*Figure 5: Suffrage Movement Strength in States between 1900 and 1920
**************************************************************************

use dta\MMC_nawsa, clear       //using nawsa data set
xtline membpc if sample==1, ylabel(0.00 "0" 3.00 "3" 6.00 "6" , labsize(vlarge)) ytitle("Memb. pc", size(medium)) lcolor(black) lwidth(medthick) xtitle("", size(huge)) xlabel(1900(10)1920, labsize(vlarge)) legend(off) ysize(4.5) scheme(s1mono) mlab(state_name)


**************************************************************************
*Figure 6: Strength of the Suffrage Movement by pre-Nineteenth Amendment Collective Action Events
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
preserve                      //temporarily preserve to enable collapsing at the state level 
collapse (mean) demonstr_state parade_state membpc, by(state)
*Demonsrations
graph box membpc, over(demonstr_state, relabel(1 "None" 2 "At least one" ) label(labsize(huge))) ytitle("NAWSA membership (pc)", size(huge)) ylabel ( , labsize(huge) nogrid) noout box(1, color(black) ) marker (1 , mcolor(gray)) ylabel(0(0.5)2.5) title("Demonstrations",  size(huge)) note("", nobox) legend(off) scheme(s1color) saving(dem_box, replace)
*Parades
graph box membpc, over(parade_state, relabel(1 "None" 2 "At least one" )   label(labsize(huge))) ytitle("NAWSA membership (pc)", size(huge)) ylabel ( , labsize(huge) nogrid) noout box(1, color(black) ) marker (1 , mcolor(gray)) ylabel(0(0.5)2.5) title("Parades",  size(huge))        note("", nobox) legend(off) scheme(s1color) saving(par_box, replace)
*Combining graphs
gr combine dem_box.gph  par_box.gph, col(2) ysize(3) scheme(s1mono) imargin(medium)
restore                       //restoring to an uncollapsed data set


**************************************************************************
*Table 7: List of pre-Nineteenth Amendment Suffrage Parades in States with Strong Suffrage Movement
**************************************************************************

*Nothing to replicate


**************************************************************************
*Table 8: List of pre-Nineteenth Amendment Suffrage Demonstrations in States with Strong Suffrage Movement
**************************************************************************

*Nothing to replicate


**************************************************************************
*Figure 7: The Effect of Progressive Score on (pp) Change in Incumbent Vote by Movement Strength and Party
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
reg dinc2018  c.awomen20 progsc66  i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u) , if nawsa_60==0 & pty66==200  
quietly estimates store dinc20lR
reg dinc2018  c.awomen20 progsc66  i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u) , if nawsa_60==1 & pty66==200 
quietly estimates store dinc20hR
reg dinc2018  c.awomen20 progsc66  i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u) , if nawsa_60==0 & pty66==100  
quietly estimates store dinc20lD
reg dinc2018  c.awomen20 progsc66  i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u) , if nawsa_60==1 & pty66==100 
quietly estimates store dinc20hD

use dta\MMC_1918, clear       //using 1918 data set
reg dinc1816  c.awomen20 progsc65  i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u) , if nawsa_60==0 & pty65==200  
quietly estimates store dinc18lR
reg dinc1816  c.awomen20 progsc65  i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u) , if nawsa_60==1 & pty65==200 
quietly estimates store dinc18hR
reg dinc1816  c.awomen20 progsc65  i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u) , if nawsa_60==0 & pty65==100  
quietly estimates store dinc18lD
reg dinc1816  c.awomen20 progsc65  i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u) , if nawsa_60==1 & pty65==100 
quietly estimates store dinc18hD

use dta\MMC_1922, clear       //using 1922 data set
reg dinc2220  c.awomen20 progsc67  i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u) , if nawsa_60==0 & pty67==200  
quietly estimates store dinc22lR
reg dinc2220  c.awomen20 progsc67  i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u) , if nawsa_60==1 & pty67==200
quietly estimates store dinc22hR
reg dinc2220  c.awomen20 progsc67  i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u) , if nawsa_60==0 & pty67==100   
quietly estimates store dinc22lD
reg dinc2220  c.awomen20 progsc67  i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u) , if nawsa_60==1 & pty67==100 
quietly estimates store dinc22hD

#delimit;                    //creating coeff plot for Republican incumbents                                 
 coefplot 
 (dinc18lR, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick) lpattern(dash)))
 (dinc20lR, msym(o) mcolor(black) mlabcolor(black) msize(large) ciopts(lcolor(black) lwidth(thick) lpattern(dash))) 
 (dinc22lR, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick) lpattern(dash))) 
 (dinc18hR, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick)))
 (dinc20hR, msym(o) mcolor(black) mlabcolor(black) msize(large) ciopts(lcolor(black) lwidth(thick)))
 (dinc22hR, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick))) 
 , yline(0, lcolor(black)) levels(95) scheme(s1mono) ylabel(-0.3(0.1)0.4, labsize(vlarge)) title("Republican Incumbents", size(vlarge) pos(12)) 
 keep(progsc65 progsc66  progsc67) coeflabels(progsc65 ="1918-1916" progsc66="1920-1918" progsc67="1922-1920")  
 xlabel(, labsize(vlarge))legend(off) vertical saving(progR, replace) ysize(5);
#delimit cr

#delimit;                    //creating coeff plot for Democratic incumbents                        
 coefplot 
 (dinc18lD, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick) lpattern(dash)))
 (dinc20lD, msym(o) mcolor(black) mlabcolor(black) msize(large) ciopts(lcolor(black) lwidth(thick) lpattern(dash))) 
 (dinc22lD, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick) lpattern(dash))) 
 (dinc18hD, msym(o) mcolor(gray) mlabcolor(black) msize(gray) ciopts(lcolor(gray) lwidth(thick)))
 (dinc20hD, msym(o) mcolor(black) mlabcolor(black) msize(large) ciopts(lcolor(black) lwidth(thick)))
 (dinc22hD, msym(o) mcolor(gray) mlabcolor(gray) msize(large) ciopts(lcolor(gray) lwidth(thick))) 
 , yline(0, lcolor(black)) levels(95) scheme(s1mono) ylabel(-0.3(0.1)0.4, labsize(vlarge)) title("Democratic Incumbents", size(vlarge) pos(12)) 
 keep(progsc65 progsc66  progsc67) coeflabels(progsc65 ="1918-1916" progsc66="1920-1918" progsc67="1922-1920") 
 xlabel(, labsize(vlarge)) legend(off) vertical saving(progD, replace) ysize(5);
#delimit cr

gr combine  progR.gph progD.gph, col(2) ycommon ysize(3) l1title("The Effect of Progressive Score", size(large)) scheme(s1mono) imargin(vsmall) 


**************************************************************************
*Figure 8: 1922 Election: Marginal Effects of Adult Women, by Movement Strength
**************************************************************************

use dta\MMC_1922long, clear       //using 1922long data set

reg dinc2218  c.awomen20x##c.progsc67x i.pty67 i.wrd2218 i.nrd2218 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd22_u), if nawsa_60==1  
quietly margins, dydx(awomen20x) at(progsc67x=(-35(1)20)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc67x if nawsa_60==1 , percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1))xlabel(-60(20)40, labsize(vlarge)))
 title("Strong Movement (N=251)", size(huge)) xtitle ("Progressive Score in 67th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.022; p=0.128", color(black) size(large)) yscale(alt) scheme(s1mono) saving(longs, replace);
#delimit cr

reg dinc2218  c.awomen20x##c.progsc67x i.pty67 i.wrd2218 i.nrd2218 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd22_u), if nawsa_60==0 
quietly margins, dydx(awomen20x) at(progsc67x=(-48(1)30)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc67x if nawsa_60==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1))xlabel(-60(20)40, labsize(vlarge)))
 title("Weak Movement (N=445)", size(huge)) xtitle ("Progressive Score in 67th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.016; p=0.374", color(black) size(large)) yscale(alt) scheme(s1mono) saving(longw, replace);
#delimit cr

gr combine  longw.gph longs.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)

**************************************************************************
*Figure 9: Marginal Effects of Adult Women in States with a Strong Suffrage Movement, by Party
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set

*Republicans
reg dinc2018  c.awomen20x##c.progsc66x i.nrd20 i.wrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 &pty66==200  
quietly margins, dydx(awomen20x) at(progsc66x=(-35(1)25)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & pty66==200, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Republicans (N=268)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.009; p=0.231", color(black) size(large)) yscale(alt) scheme(s1mono) saving(66sr, replace);
#delimit cr

*Democrats
reg dinc2018  c.awomen20x##c.progsc66x i.nrd20 i.wrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 &pty66==100  
quietly margins, dydx(awomen20x) at(progsc66x=(-31(1)10)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & pty66==100, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Democrats (N=72)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.014; p=0.530", color(black) size(large)) yscale(alt) scheme(s1mono) saving(66sd, replace);
#delimit cr

*Combining graphs
gr combine  66sr.gph 66sd.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)


**************************************************************************
*Figure 10: All Other Salient Progressive Bills in the 66th Congress: Marginal Effects of Adult Women, by the Strength of the Suffrage Movement
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set

*Women's Bureau 
reg dinc2018  c.awomen20##i.V201_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V201_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.303; p=0.580", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(wbw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V201_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V201_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.605; p=0.009", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(wbs, replace) ;
#delimit cr

gr combine  wbw.gph wbs.gph , col(2) ycommon ysize(3.5) title("66th Congress: Women's Bureau Act", size(vlarge)) scheme(s1mono) imargin(medium) 

*Veteran's Pensions 
reg dinc2018  c.awomen20##i.V141_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V141_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term -0.03; p=0.964", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(vetw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V141_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V141_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.46; p=0.021", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(vets, replace) ;
#delimit cr

gr combine  vetw.gph vets.gph , col(2) ycommon ysize(3.5) title("66th Congress: Increasing Pensions to Veterans of Civil War", size(vlarge)) scheme(s1mono) imargin(medium) 

*Prohibition 
reg dinc2018  c.awomen20##i.V43_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V43_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term -0.431; p=0.372", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(prohw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V43_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V43_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.096; p=0.701", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(prohs, replace) ;
#delimit cr

gr combine  prohw.gph prohs.gph , col(2) ycommon ysize(3.5) title("66th Congress: National Prohibition Act", size(vlarge)) scheme(s1mono) imargin(medium) 

*Suffrage 
reg dinc2018  c.awomen20##i.V2_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V2_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 1.297; p=0.146", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(suffw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V2_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V2_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.009; p=0.989", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(suffs, replace) ;
#delimit cr

gr combine  suffw.gph suffs.gph , col(2) ycommon ysize(3.5) title("66th Congress: Women's Suffrage Amendment", size(vlarge)) scheme(s1mono) imargin(medium) 

*Civil Service Retirement
reg dinc2018  c.awomen20##i.V207_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V207_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.351; p=0.537", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(civw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V207_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V207_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term -0.13; p=0.591", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(civs, replace) ;
#delimit cr

gr combine  civw.gph civs.gph , col(2) ycommon ysize(3.5) title("66th Congress: Civil Service Retirement Act", size(vlarge)) scheme(s1mono) imargin(medium) 

*Vocational Rehabilitation 
reg dinc2018  c.awomen20##i.V104_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V104_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.117; p=0.763", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(vocw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V104_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V104_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term -0.117; p=0.665", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(vocs, replace) ;
#delimit cr

gr combine  vocw.gph vocs.gph , col(2) ycommon ysize(3.5) title("66th Congress: Vocational Rehabilitation Act", size(vlarge)) scheme(s1mono) imargin(medium) 

*Immigration 
reg dinc2018  c.awomen20##i.V250_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V250_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.388; p=0.445", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(imw, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V250_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V250_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.299; p=0.366", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(ims, replace) ;
#delimit cr

gr combine  imw.gph ims.gph , col(2) ycommon ysize(3.5) title("66th Congress: Suspension of Immigration", size(vlarge)) scheme(s1mono) imargin(medium) 

*WW Compensation 
reg dinc2018  c.awomen20##i.V238_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20) at(V238_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.357; p=0.626", color(black) size(large)) title("Weak Movement (N=569)", size(huge)) 
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(www, replace) ;
#delimit cr

reg dinc2018  c.awomen20##i.V238_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V238_66=(0 1)) vsquish noestimcheck
#delimit ;
 marginsplot, ylabel(-3(1)3, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term -0.724; p=0.124", color(black) size(large)) title("Strong Movement (N=340)", size(huge))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(wws, replace) ;
#delimit cr

gr combine  www.gph wws.gph , col(2) ycommon ysize(3.5) title("66th Congress: World War Adjusted Compensation Act", size(vlarge)) scheme(s1mono) imargin(medium) 


**************************************************************************
*Figure 11: Excluding One State at a Time in States with a Strong Suffrage Movement
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set

*excluding one state at a time
label define state 1 "CT" 2 "ME" 3 "MA" 4 "NH" 5 "RI" 6 "VT" 12 "NJ" 22 "IN" 34 "MO" 36 "ND" 37 "SD" 40 "VA" 51 "KY" 52 "MD"54 "TN" 56 "WV"
label values state state 

foreach i in 1 2 3 4 5 6 12 22 34 36 37 40 51 52 54 56 {
 reg dinc2018  c.awomen20x##c.progsc66x  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 margin18 i.proh18_01 i.state, cluster(cd20_u) , if nawsa_60==1 & s`i'==0  
 quietly margins,  dydx(awomen20x) at(progsc66x=(-37(1)24)) vsquish noestimcheck 

#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & s`i'==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2)) 
 ylabel(0(15)30, labsize(vlarge) axis(2)) ylabel(-2(1)2, labsize(vlarge) axis(1)) xlabel(-40(10)30, labsize(vlarge)))
 title(`:label state `i'', size(large)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) yline(0, lcolor(black)) legend (off) yscale(alt)
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected) scheme(s1mono) saving(s`i', replace) ;
#delimit cr
 } 
*combined graphs in sub-figure a
gr combine  s1.gph s2.gph s3.gph s4.gph       , col(4) ycommon ysize(1.5) title("", size(vlarge)) scheme(s1mono) imargin(medium) 
*combined graphs in sub-figure b
gr combine s5.gph s6.gph s12.gph s22.gph      , col(4) ycommon ysize(1.5) title("", size(vlarge)) scheme(s1mono) imargin(medium) 
*combined graphs in sub-figure c 
gr combine  s34.gph s36.gph s37.gph s40.gph   , col(4) ycommon ysize(1.5) title("", size(vlarge)) scheme(s1mono) imargin(medium)  
*combined graphs in sub-figure d
gr combine  s51.gph s52.gph  s54.gph s56.gph  , col(4) ycommon ysize(1.5) title("", size(vlarge)) scheme(s1mono) imargin(medium)   
 
  
**************************************************************************
*Table 9: Alternative Specifications for Main Result (Part I)
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
*Model 1 (20th percentile)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_20==1 
*Model 2 (40th percentile)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_40==1 
*Model 3 (No Proh.)
reg dinc2018  c.awomen20x##c.progsc66Px i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 4 (No Immigr.)
reg dinc2018  c.awomen20x##c.progsc66Ix i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 5 (South)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & region2==4
*Model 6 (Non-South)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & region2<4


**************************************************************************
*Table 10: Alternative Specifications for Main Result (Part II)
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
*Model 1 (Controls)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66  i.state , cluster(cd20_u), if nawsa_60==1 
*Model 2 (Controls)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 anat20 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 3 (Controls)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 mfo20_m i.state, cluster(cd20_u), if nawsa_60==1 
*Model 4 (Adult Women - Literacy)
reg dinc2018  c.awomen20_litlx##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 5 (Adult Women - Poll Taxes)
reg dinc2018  c.awomen20_nbpx##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 6 (Adult Women - Registr.)
reg dinc2018  c.awomen20_nbrx##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 7 (Adult Women - Alien)
reg dinc2018  c.awomen20_naax##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
*Model 8 (Third <15%)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & third18<15 & third20<15
*Model 9 (Bounds 80%)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & v66_18<=80 & v66_20<=80 
*Model 10 (Sample SD)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & s37==0


**************************************************************************
*Table 11: Excluding States with Voter Suppression Laws
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
*Model 1 (Poll - Weak)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 & pollt==0
*Model 2 (Literacy - Weak)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 & litt==0
*Model 3 (Registr. - Weak)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 & registr==0
*Model 4 (Poll - Strong)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & pollt==0
*Model 5 (Literacy - Strong)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & litt==0
*Model 6 (Registr. - Strong)
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & registr==0


**************************************************************************
*Table 12: Estimating Women’s Turnout by Movement Strength (with Placebo Tests)
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set
*Model 1 (1920-1918 Weak)
reg dturn2018  c.awomen20 c.progsc66  i.pty66 i.nrd20 i.wrd20 urb20 ablack20 margin18 i.proh18_01 i.state, cluster(cd20_u), if nawsa_60==0  
*Model 2 (1920-1918 Strong)
reg dturn2018  c.awomen20 c.progsc66  i.pty66 i.nrd20 i.wrd20 urb20 ablack20 margin18 i.proh18_01 i.state, cluster(cd20_u), if nawsa_60==1  

use dta\MMC_1918, clear       //using 1918 data set
*Model 3 (1918-1916 Weak)
reg dturn1816  c.awomen20 c.progsc65  i.pty65 i.nrd18 i.wrd18 urb20 ablack20 margin16 i.proh18_01 i.state, cluster(cd18_u), if nawsa_60==0  
*Model 4 (1918-1916 Strong)
reg dturn1816  c.awomen20 c.progsc65  i.pty65 i.nrd18 i.wrd18 urb20 ablack20 margin16 i.proh18_01 i.state, cluster(cd18_u), if nawsa_60==1 

use dta\MMC_1922, clear       //using 1922 data set
*Model 3 (1922-1920 Weak)
reg dturn2220  c.awomen20 c.progsc67  i.pty67 i.nrd22 i.wrd22 urb20 ablack20 margin20 i.proh18_01 i.state, cluster(cd22_u), if nawsa_60==0  
*Model 4 (1922-1920 Strong)
reg dturn2220  c.awomen20 c.progsc67  i.pty67 i.nrd22 i.wrd22 urb20 ablack20 margin20 i.proh18_01 i.state, cluster(cd22_u), if nawsa_60==1 


**************************************************************************
*Figure 12: Marginal Effects of Adult Women in States with a Strong Suffrage Movement, by Demonstrations and Parades
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set

*Sub-figure a: Demonstrations
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & demonstr_state==0
quietly margins, dydx(awomen20x) at(progsc66x=(-35(1)24)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & demonstr_state==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-4(2)4, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("No Demonstrations (N=211)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.009; p=0.151", color(black) size(large)) yscale(alt) scheme(s1mono) saving(nd, replace);
#delimit cr

reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & demonstr_state==1
quietly margins, dydx(awomen20x) at(progsc66x=(-26(1)10)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & demonstr_state==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-4(2)4, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("At Least One Demonsration (N=129)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.077; p=0.059", color(black) size(large)) yscale(alt) scheme(s1mono) saving(d, replace);
#delimit cr

gr combine  nd.gph d.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)

*Sub-figure b: Parades
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & parade_state==0
quietly margins, dydx(awomen20x) at(progsc66x=(-35(1)20)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & parade_state==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-2(2)2, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("No Parades (N=146)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.02; p=0.018", color(black) size(large)) yscale(alt) scheme(s1mono) saving(np, replace);
#delimit cr

reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & parade_state==1
quietly margins, dydx(awomen20x) at(progsc66x=(-28(1)23)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & parade_state==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-2(2)2, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("At Least One Parade (N=194)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.004; p=0.782", color(black) size(large)) yscale(alt) scheme(s1mono) saving(p, replace);
#delimit cr

gr combine  np.gph p.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)


**************************************************************************
*Figure 13: Ideological Shifts of Incumbents by Movement Strength
**************************************************************************

use dta\MMC_1918, clear       //using 1918 data set

preserve //temporarily preserve to exclude incumbents that lost in 1918 election (therefore cannot compare 65th and 66th progressive scores). Note that incumbents who did not run in 1918 are already excluded above.
gen reelect1918= (pty66-pty65==0) 
keep if reelect1918==1                                   //dropping incumbents that lost in 1918 election  
collapse (mean) progsc66 progsc65 membpc, by(cd18_u)     //collapsing at the district level 
egen progsc65_std = std(progsc65)                        //standardizing scores
egen progsc66_std = std(progsc66)
gen shift6665_std = progsc66_std - progsc65_std          //generating shift in scores
corr  membpc shift6665_std                               //generating correlation coeff to be added to Figure 13 [needs to be run with the next two lines in a single do command]
local corr:di %4.3f r(rho)
twoway (scatter membpc shift6665_std, mcolor(black) m(oh)) (lfit membpc shift6665_std, lwidth(thick) lcolor(black)), ytitle(Strength of the Suffrage Movement, size(vlarge)) ylabel(0(0.5)2.5, labsize(vlarge)) xtitle(Progressive Shift 66th-65th Congress, size(vlarge)) xlabel(-4(2)4, labsize(vlarge)) legend(off) scheme(s1mono) text(2.5 3 "Corr=`corr'", color(black) size(large)) 
restore //restoring to original MMC_1918 sample


**************************************************************************
*Figure 14: Ideological Shifts of Incumbents by Movement Strength and the Proportion of Women
**************************************************************************

use dta\MMC_1918, clear       //using 1918 data set

preserve //temporarily preserve to exclude incumbents that lost in 1918 election (therefore cannot compare 65th and 66th progressive scores). Note that incumbents who did not run in 1918 are already excluded above.
gen reelect1918= (pty66-pty65==0) 
keep if reelect1918==1                                   //dropping incumbents that lost in 1918 election  
egen progsc65_stdW = std(progsc65) if nawsa_60==0        //standardizing scores
egen progsc65_stdS = std(progsc65) if nawsa_60==1                      
egen progsc66_stdW = std(progsc66) if nawsa_60==0                       
egen progsc66_stdS = std(progsc66) if nawsa_60==1                      
gen shift6665_stdW = progsc66_stdW - progsc65_stdW       //generating shift in scores
gen shift6665_stdS = progsc66_stdS - progsc65_stdS         

corr  awomen20 shift6665_stdW if nawsa_60==0             //generating correlation coeff to be added to Figure 14 [needs to be run with the next two lines in a single do command]
local corr:di %4.3f r(rho)
twoway (scatter  awomen20 shift6665_stdW if nawsa_60==0, mcolor(black) m(oh)) (lfit  awomen20 shift6665_stdW if nawsa_60==0, lwidth(thick) lcolor(black)), ytitle(Proportion of Adult Women (%), size(vlarge)) ylabel(35(5)55, labsize(vlarge)) xtitle(Progressive Shift 66th-65th Congress, size(vlarge)) xlabel(-4(2)4, labsize(vlarge)) title("Weak Suffrage Movement", nobox size(vlarge)) legend(off) scheme(s1color) text(55 3 "Corr=`corr'", color(black) size(large)) saving(weak, replace)
corr  awomen20 shift6665_stdS if nawsa_60==1            //generating correlation coeff to be added to Figure 14 [needs to be run with the next two lines in a single do command]
local corr:di %4.3f r(rho)
twoway (scatter  awomen20 shift6665_stdS if nawsa_60==1, mcolor(black) m(oh)) (lfit  awomen20 shift6665_stdS if nawsa_60==1, lwidth(thick) lcolor(black)) , ytitle(Proportion of Adult Women (%), size(vlarge)) ylabel(35(5)55, labsize(vlarge)) xtitle(Progressive Shift 66th-65th Congress, size(vlarge)) xlabel(-4(2)4, labsize(vlarge)) title("Strong Suffrage Movement", nobox size(vlarge)) legend(off) scheme(s1color) text(55 3 "Corr=`corr'", color(black) size(large)) saving(strong, replace)
 
gr combine  weak.gph strong.gph , col(2) ycommon ysize(3) scheme(s1mono) imargin(medium) 

restore //restoring to original MMC_1918 sample


**************************************************************************
*Figure 15: Marginal Effects of Adult Women, by Suffragists’ Strength and the Presence of Anti- Suffragists
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set

*Sub-figure a: States with Weak Movement
reg dinc2018 c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 & anti13_state==0 
quietly margins, dydx(awomen20x) at(progsc66x=(-31(1)23)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==0 & anti13_state==0 & progsc66>10, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2))  // [progsc66>10 drops one conservative incumbent with very low progressive score from the graph [at -60], but not from the model]
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-4(2)4, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Anti-Suffragists Not Present (N=294)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is -0.008; p=0.695", color(black) size(large)) yscale(alt) scheme(s1mono) saving(wna, replace);
#delimit cr

reg dinc2018 c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 & anti13_state==1
quietly margins, dydx(awomen20x) at(progsc66x=(-22(1)23)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==0 & anti13_state==1 & progsc66>10, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2))  // [progsc66>10 drops one conservative incumbent with very low progressive score from the graph [at -60], but not from the model] ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-4(2)4, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Anti-Suffragists Present (N=275)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.009; p=0.787", color(black) size(large)) yscale(alt) scheme(s1mono) saving(wa, replace);
#delimit cr

gr combine  wna.gph wa.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)

*Sub-figure b: States with Strong Movement
reg dinc2018 c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & anti13_state==0
quietly margins, dydx(awomen20x) at(progsc66x=(-31(1)23)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & anti13_state==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-4(2)4, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Anti-Suffragists Not Present (N=250)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.01; p=0.253", color(black) size(large)) yscale(alt) scheme(s1mono) saving(sna, replace);
#delimit cr

reg dinc2018 c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 & anti13_state==1
quietly margins, dydx(awomen20x) at(progsc66x=(-35(1)15)) vsquish noestimcheck
#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1 & anti13_state==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-4(2)4, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Anti-Suffragists Present (N=90)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.021; p=0.044", color(black) size(large)) yscale(alt) scheme(s1mono) saving(sa, replace);
#delimit cr

gr combine  sna.gph sa.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)


**************************************************************************
*Figure 16: Kernel Densities of Progressive Scores in 65th-68th Congresses by Party
**************************************************************************

use dta\MMC_shifts, clear       //using shifts data set

*All
#delimit ; 
twoway kdensity progsc65, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67, lcolor(gs6) lwidth(thick) || kdensity progsc68, lcolor(black)lwidth(thick)
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("All", size(huge)) legend(off) scheme(s1color) saving(all, replace); 
#delimit cr

*Republicans
#delimit ; 
twoway kdensity progsc65 if pty65==200, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66 if pty66==200, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67 if pty67==200, lcolor(gs6) lwidth(thick) || kdensity progsc68 if pty68==200, lcolor(black) lwidth(thick)
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("Republicans", size(huge)) legend(off) scheme(s1color) saving(r, replace) ; 
#delimit cr

*Democrats
#delimit ; 
twoway kdensity progsc65 if pty65==100, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66 if pty66==100, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67 if pty67==100, lcolor(gs6) lwidth(thick) || kdensity progsc68 if pty68==100, lcolor(black) lwidth(thick) 
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("Democrats", size(huge)) legend(off) scheme(s1color) saving(d, replace); 
#delimit cr

*Combining graphs
gr combine all.gph r.gph d.gph, l1title("Density", size(vlarge)) col(3) scheme(s1mono) imargin(medium) ysize(2)  


**************************************************************************
*Figure 17: Kernel Densities of Progressive Scores in 65th-68th Congresses by Party and Movement Strength
**************************************************************************

use dta\MMC_shifts, clear       //using shifts data set

*Sub-figure a: Strong movement
#delimit ; 
twoway  kdensity progsc65 if nawsa_60==1 & pty65==200, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66 if nawsa_60==1 & pty66==200, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67 if nawsa_60==1 & pty67==200, lcolor(gs6) lwidth(thick) || kdensity progsc68 if nawsa_60==1 & pty68==200, lcolor(black) lwidth(thick) 
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("Republicans", size(huge)) legend(off) scheme(s1color) saving(strr, replace); 
#delimit cr

#delimit ; 
twoway  kdensity progsc65 if nawsa_60==1 & pty65==100, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66 if nawsa_60==1 & pty66==100, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67 if nawsa_60==1 & pty67==100, lcolor(gs6) lwidth(thick) || kdensity progsc68 if nawsa_60==1 & pty68==100, lcolor(black) lwidth(thick) 
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("Democrats", size(huge)) legend(off) scheme(s1color) saving(strd, replace); 
#delimit cr

gr combine strr.gph strd.gph, col(4) l1title("Density", size(vlarge)) scheme(s1mono) imargin(medium)  ysize(3)   

*Sub-figure b: Weak movement
#delimit ; 
twoway  kdensity progsc65 if nawsa_60==0 & pty65==200, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66 if nawsa_60==0 & pty66==200, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67 if nawsa_60==0 & pty67==200, lcolor(gs6) lwidth(thick) || kdensity progsc68 if nawsa_60==0 & pty68==200, lcolor(black) lwidth(thick) 
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("Republicans", size(huge)) legend(off) scheme(s1color) saving(wear, replace); 
#delimit cr

#delimit ; 
twoway  kdensity progsc65 if nawsa_60==0 & pty65==100, lcolor(gs12) lwidth(thick) lpattern(dash) || kdensity progsc66 if nawsa_60==0 & pty66==100, lcolor(gs9) lwidth(thick) lpattern(dash) ||
kdensity progsc67 if nawsa_60==0 & pty67==100, lcolor(gs6) lwidth(thick) || kdensity progsc68 if nawsa_60==0 & pty68==100, lcolor(black) lwidth(thick) 
, xlabel(0(20)100, labsize(huge)) ylabel(0(0.01)0.03, labsize(huge)) xtitle("Progressive Scores 65th-68th", size(huge)) title("Democrats", size(huge)) legend(off) scheme(s1color) saving(wead, replace); 
#delimit cr

gr combine wear.gph wead.gph, col(4) l1title("Density", size(vlarge)) scheme(s1mono) imargin(medium)  ysize(3)   


**************************************************************************
*Figure 18: Comparing States with a Strong and Weak Suffrage Movement
**************************************************************************

use dta\MMC_1920, clear       //using 1920 data set

* % Urban
cibar urb20,     over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(10)30,  labsize(huge)) title("% Urban", size(huge))               ytitle("", size(huge)) legend(off) scheme(s1mono) saving(urb,       replace)) 
* % Adult Black
cibar ablack20,  over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(2)6,    labsize(huge)) title("% Adult Black", size(huge))         ytitle("", size(huge)) legend(off) scheme(s1mono) saving(abl,       replace)) 

* % Women Employed
preserve //temporarily preserving to enable collapsing at the state level
collapse (mean)  fempl20, by(state nawsa_60)
cibar fempl20,   over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(10)30,   labsize(huge)) title("% Employed Women", size(huge))      ytitle("", size(huge)) legend(off) scheme(s1mono) saving(wempl,     replace)) 
restore  //restoring to pre-collapsed data set

* Manuf. Output
cibar mfo20_m,   over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(10)30,  labsize(huge)) title("Manuf. Output (mils.)", size(huge)) ytitle("", size(huge)) legend(off) scheme(s1mono) saving(mfo,       replace)) 
* % Dry 1918
cibar proh18_01, over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(0.25)1, labsize(huge)) title("% Dry 1918", size(huge))            ytitle("", size(huge)) legend(off) scheme(s1mono) saving(proh,      replace)) 
* % Prog. 1912
cibar prog12    ,over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(5)20,   labsize(huge)) title("% Progressive 1912", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog12,    replace)) 

* Prog. cand 1912; Prog. Score 66th
preserve //temporarily preserving to enable collapsing at the district level
collapse (mean) prog12_01 progsc66, by(cd20_u nawsa_60)
cibar prog12_01, over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(0.25)1, labsize(huge)) title("% Prog. Cand. 1912", size(huge))ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog12_01, replace)) 
cibar progsc66,  over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(20)80, labsize(huge))  title("% Prog. Score 66th", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog66,    replace)) 
restore  //restoring to pre-collapsed data set

use dta\MMC_1918, clear       //using 1918 data set
* Prog. Score 65th
preserve //temporarily preserving to enable collapsing at the district level
collapse (mean) progsc65, by(cd18_u nawsa_60)
cibar progsc65,  over1(nawsa_60) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(20)80, labsize(huge))  title("% Prog. Score 65th", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog65,    replace)) 
restore  //restoring to pre-collapsed data set

*Combining graphs
gr combine urb.gph  abl.gph wempl.gph  mfo.gph proh.gph prog12.gph prog12_01.gph prog65.gph prog66.gph, col(5) ysize(2.5) scheme(s1mono) imargin(medium)


**************************************************************************
*Figure 19: Comparing States with and without Collective Action Events
**************************************************************************

* Demonstrations
use dta\MMC_1920, clear       //using 1920 data set
cibar prog12,     over1(demonstr_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(5)15,   labsize(huge)) title("% Progressive 1912", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog12d,    replace)) 
preserve //temporarily preserving to enable collapsing at the district level
collapse (mean) prog12_01 progsc66, by(cd20_u demonstr_state)
cibar prog12_01,  over1(demonstr_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(0.25)1, labsize(huge)) title("% Prog. Cand. 1912", size(huge))ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog12_01d, replace)) 
cibar progsc66,   over1(demonstr_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(20)80,  labsize(huge)) title("% Prog. Score 66th", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog66d,    replace)) 
restore  //restoring to pre-collapsed data set

use dta\MMC_1918, clear       //using 1918 data set
preserve //temporarily preserving to enable collapsing at the district level
collapse (mean) progsc65, by(cd18_u demonstr_state)
cibar progsc65,   over1(demonstr_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(20)80,  labsize(huge)) title("% Prog. Score 65th", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog65d,    replace)) 
restore  //restoring to pre-collapsed data set

* Parades
use dta\MMC_1920, clear       //using 1920 data set
cibar prog12   , over1(parade_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(5)15,     labsize(huge)) title("% Progressive 1912", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog12p,    replace)) 
preserve //temporarily preserving to enable collapsing at the district level
collapse (mean) prog12_01 progsc66, by(cd20_u parade_state)
cibar prog12_01,  over1(parade_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(0.25)1,   labsize(huge)) title("% Prog. Cand. 1912", size(huge))ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog12_01p, replace)) 
cibar progsc66,   over1(parade_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(20)80,    labsize(huge)) title("% Prog. Score 66th", size(huge))    ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog66p,    replace)) 
restore  //restoring to pre-collapsed data set

use dta\MMC_1918, clear       //using 1918 data set
preserve //temporarily preserving to enable collapsing at the district level
collapse (mean) progsc65, by(cd18_u parade_state)
cibar progsc65,   over1(parade_state) ciopts(lcolor(black)) barcol(gray gs4) graphopts(ylabel(0(20)80, labsize(huge))  title("% Prog. Score 65th", size(huge))      ytitle("", size(huge)) legend(off) scheme(s1mono) saving(prog65p,    replace)) 
restore  //restoring to pre-collapsed data set

gr combine prog12d.gph prog12_01d.gph prog65d.gph prog66d.gph prog12p.gph prog12_01p.gph prog65p.gph prog66p.gph, col(4) ysize(3) scheme(s1mono) imargin(medium) l1("    Parades                Demonstrations", size(vlarge))


**************************************************************************
*Figure 20: Placebo Regressions for Vote Choice by Movement Strength
**************************************************************************

*Sub-figure a (1918-1916)
use dta\MMC_1918, clear       //using 1918 data set
reg dinc1816  c.awomen20x##c.progsc65x i.pty65 i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc65x=(-41(1)27)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc65x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-50(10)30, labsize(vlarge)))
 title("Strong Movement (N=290)", size(huge)) xtitle ("Progressive Score in 65th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.003; p=0.773", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(iplac18s, replace);
#delimit cr 

reg dinc1816  c.awomen20x##c.progsc65x i.pty65 i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u), if nawsa_60==0 
quietly margins, dydx(awomen20x) at(progsc65x=(-41(1)27)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc65x if nawsa_60==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-50(10)30, labsize(vlarge)))
 title("Weak Movement (N=576)", size(huge)) xtitle ("Progressive Score in 65th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.005; p=0.677", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(iplac18w, replace);
#delimit cr

gr combine  iplac18w.gph iplac18s.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)

*Sub-figure b (1922-1920) 
use dta\MMC_1922, clear       //using 1922 data set
reg dinc2220  c.awomen20x##c.progsc67x i.pty67 i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc67x=(-40(1)33)) vsquish noestimcheck 

#delimit;
 marginsplot, addplot (hist progsc67x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-40(20)40, labsize(vlarge)))
 title("Strong Movement (N=462)", size(huge)) xtitle ("Progressive Score in 67th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term 0.012; p=0.482", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(plac22s, replace);
#delimit cr
 
reg dinc2220  c.awomen20x##c.progsc67x i.pty67 i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u), if nawsa_60==0  
quietly margins, dydx(awomen20x) at(progsc67x=(-40(1)33)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc67x if nawsa_60==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-40(20)40, labsize(vlarge)))
 title("Weak Movement (N=683)", size(huge)) xtitle ("Progressive Score in 67th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.001; p=0.961", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(plac22w, replace);
#delimit cr

gr combine  plac22w.gph plac22s.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)


**************************************************************************
*Figure 21: Placebo Regressions for Turnout by Movement Strength
**************************************************************************

*Sub-figure a (1918-1916)
use dta\MMC_1918, clear       //using 1918 data set
reg dturn1816  c.awomen20x##c.progsc65x i.pty65 i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc65x=(-41(1)27)) vsquish noestimcheck 

#delimit;
 marginsplot, addplot (hist progsc65x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-50(10)30, labsize(vlarge)))
 title("Strong Movement (N=289)", size(huge)) xtitle ("Progressive Score in 65th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.006; p=0.676", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(tplac18s, replace);
#delimit cr

reg dturn1816  c.awomen20x##c.progsc65x i.pty65 i.nrd18 i.wrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u), if nawsa_60==0 
quietly margins, dydx(awomen20x) at(progsc65x=(-41(1)27)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc65x if nawsa_60==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-50(10)30, labsize(vlarge)))
 title("Weak Movement (N=573)", size(huge)) xtitle ("Progressive Score in 65th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.001; p=0.862", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(tplac18w, replace);
#delimit cr

gr combine  tplac18w.gph tplac18s.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)

*Sub-figure b (1922-1920)
use dta\MMC_1922, clear       //using 1922 data set
reg dturn2220  c.awomen20x##c.progsc67x i.pty67 i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc67x=(-40(1)33)) vsquish noestimcheck 

#delimit;
 marginsplot, addplot (hist progsc67x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-40(20)40, labsize(vlarge)))
 title("Strong Movement (N=462)", size(huge)) xtitle ("Progressive Score in 67th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.004; p=0.746", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(tplac22s, replace);
#delimit cr
 
reg dturn2220  c.awomen20x##c.progsc67x i.pty67 i.wrd22 i.nrd22 urb20 ablack20 i.proh18_01 margin20 i.state, cluster(cd22_u), if nawsa_60==0 
quietly margins, dydx(awomen20x) at(progsc67x=(-40(1)33)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc67x if nawsa_60==0, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-40(20)40, labsize(vlarge)))
 title("Weak Movement (N=683)", size(huge)) xtitle ("Progressive Score in 67th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.01; p=0.392", color(black) size(vlarge)) yscale(alt) scheme(s1mono) saving(tplac22w, replace);
#delimit cr

gr combine  tplac22w.gph tplac22s.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)

**************************************************************************
*Figure 22: Placebo for Vote Choice & Turnout in States where Women Voted before 1920
**************************************************************************

use dta\MMC_1920west, clear       //using West data set

*Sub-figure a: Turnout
reg dturn2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u)
quietly margins, dydx(awomen20x) at(progsc66x=(-42(1)14)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc66x, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2))  // [progsc66>10 drops one conservative incumbent with very low progressive score from the graph [at -60], but not from the model]
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-60(20)20, labsize(vlarge)))
 title("Turnout (N=311)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.002; p=0.794", color(black) size(large)) yscale(alt) scheme(s1mono) saving(66vt, replace);
#delimit cr

*Sub-figure b: Vote 
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u)
quietly margins, dydx(awomen20x) at(progsc66x=(-42(1)14)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc66x, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2))  // [progsc66>10 drops one conservative incumbent with very low progressive score from the graph [at -60], but not from the model]
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-60(20)20, labsize(vlarge)))
 title("Inc. Vote (N=317)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.01; p=0.273", color(black) size(large)) yscale(alt) scheme(s1mono) saving(66inc, replace);
#delimit cr

*Combining graphs
gr combine  66vt.gph 66inc.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)


**************************************************************************
*Table 13: Testing Assumptions Using Sex-Separated Data in Illinois (Men’s Response)
**************************************************************************

use dta\MMC_illinois, clear       //using MMC_illinois data set
reg dturnm1612 awomen20, robust
reg ddemm1612  awomen20, robust
 
 
**************************************************************************
*Table 14: Testing Assumptions Using Sex-Separated Data in Illinois (Women’s Voting Behaviour)
**************************************************************************

use dta\MMC_illinois, clear       //using MMC_illinois data set
reg turngap16 awomen20, robust  
reg demgap16  awomen20, robust 
  
 
**************************************************************************
*Figure 23: Figure 23: Testing Assumptions Using Sex-Separated Data in Illinois (Women’s Share of Overall Turnout)
**************************************************************************

use dta\MMC_illinois, clear       //using MMC_illinois data set
twoway (scatter  wshare16 awomen20 , mcolor(black) m(oh)) (lfit  wshare16 awomen20, lwidth(thick) lcolor(black)), ytitle(Women's Share of Turnout 1916 (pp), size(vlarge)) ylabel(20(10)60, labsize(vlarge)) xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(40(5)55, labsize(vlarge)) legend(off) scheme(s1color) 




